// 该文件专门用于创建并暴露一个vuex中的核心管理者--store

// 引入Vue核心库
import Vue from 'vue';

// 引入Vuex
import vuex from 'vuex';

// 应用Vue插件
Vue.use(vuex)
//  准备actions
const actions = {
    // jia(miniStore,value){
    //     // 通过commit指挥mutations中的JIA
    //     miniStore.commit('JIA',value)
    // },
    // jian(miniStore,value){
    //     // 通过commit指挥mutations中的JIA
    //     miniStore.commit('JIAN',value)
    // },
    jiaOdd(miniStore,value){
        if(miniStore.state.sum %2 ){
            miniStore.commit('JIA',value)
        }
    },
    jiaWait(miniStore,value){
        setTimeout(() => {
            miniStore.commit('JIA',value)
        }, 500);
    }
}

// 准备mutations
const mutations = {
    JIA(state,value){
        state.sum += value
    },
    JIAN(state,value){
        state.sum -= value
    }
}
// 准备state
const state= {
    sum:0
}


// 创建一个Store
const store = new vuex.Store({
    actions,
    mutations,
    state
})


// 暴露store
export default store